Тема сегодняшней статьи будет посвящена одному достаточно распространенному вопросу – как перенести Joomla сайт с локального сервера на хостинг.
После того как вы потренируетесь в создание сайтов на локальном компьютере самое время задуматься о том как его перенести на хостинг чтобы о вашем ресурсе узнало как можно больше пользователей сети Интернет.
Сам процесс переноса не сложный, однако, как показывает практика, у новичков могут возникнуть определенные сложности и ошибки в работе сайта после переноса на хостинг. Чтобы избежать лишних ошибок мы предлагаем ознакомиться с подробной инструкцией по переносу сайта на хостинг на примере провайдера RadiusHost.
Итак, приступим. Первое что необходимо сделать, это зарегистрироваться на сайте хостинг-провайдера и войти в личный кабинет (инструкцию по регистрации, тарифы на хостинг и прочую информацию вы можете найти в данной статье).
В левой панели выбираем пункт меню «Хостинг» после чего жмем на кнопку «На сервер» как на скриншоте ниже:
После нажатия по кнопке «На сервер» откроется новое окно, интерфейс у разных пользователей может незначительно отличаться, но суть одна (смотрите скриншот ниже). На главной странице представлены ответы на часто задаваемые вопросы и некоторая другая полезная информация. При желании можете их прочитать, лишним не будет.
Теперь можно приступать непосредственно к переносу сайта на хостинг, весь процесс переноса можно разделить на два основных этапа перенос файлов и папок сайта, а так же перенос базы данных.
Перенос файлов сайта на хостинг
Тут все просто, первое, что необходимо сделать, это запаковать все локальные файлы в zip архив. Думаю проблем с упаковкой файлов возникнуть не должно – выделяем все файлы нашего сайта и запаковываем в zip архив.
Почему именно zip, да потому что rar архив как то криво распаковывается на сервере, по крайней мере, в процессе распаковки у меня пропала часть файлов. В общем, запаковываем все файлы и папки и дожидаемся завершения архивации.
А пока наши файлы запаковываются можно создать на сервере новый сайт, не пугайтесь, ничего нового кроме имени сайта на сервере мы создавать не будем. Нам необходимо создать корневую папку, в которую будем распаковывать архив.
Создание сайта на хостинге
Для создания сайта на сервере хостинг-провайдера RadiusHost необходимо в левом меню выбирать пункт «Сайты» и нажать на кнопку «Создать сайт». Тут же мы указываем версию PHP и корневую директорию сайта.
Выбираем версию PHP, при необходимости подключаем SSL сертификат и пишем имя корневой директории сайта. Будет лучше, если название папки будет совпадать с названием сайта, так в будущем, когда сайтов станет слишком много, его будет проще найти.
Жмем по кнопку «Выполнить». Все, сайт создан, точнее ему присвоен рабочий псевдоним и корневая папка, выглядеть он будет примерно так:
На следующем этапе нам предстоит переместить наш архив с файлами, в корневую директорию вновь созданного на хостинге сайта. Для этого нам необходим менеджер файлов на сервере, попасть в который можно при помощи нажатия на соответствующий пункт в левом меню или нажать на кнопку в виде открытой папки.
После перехода в меню менеджер файлов обращаем внимание на папку www. Именно она нам и нужна, переходим в неё.
В папке www видим нашу только что созданную папку, которая является корневой для нашего сайта. Для переноса локального сайта на хостинг необходимо перейти в эту папку и нажать на кнопку «Загрузить файл», обратите внимание, что размер файла должен быть не более 150 МБ (в моем случае его размер составил 10.3 Мб). Выбираем наш zip архив и жмем кнопку «Выполнить».
Файл загружен, теперь его необходимо распаковать. Жмем по архиву правой кнопкой мыши, выбираем «Распаковать», всё, файлы распакованы. Архив можно удалить, чтоб не занимал лишнее место на сервере. И еще, пока не буду вдаваться в подробности, но это сделать необходимо – переименовать файл htaccess.txt в файл .htaccess. Обратите внимание, что у файла не должно быть никакого расширения, а перед именем обязательно должна стоять точка. Для чего это нужно читайте в статье файл htaccess для Joomla.
На этом первая часть переноса сайта Joomla на сервер завершена, теперь необходимо перенести и подключить базу данных.
Перенос базы данных сайта на сервер
Следующий этап в переносе сайта на хостинг это перенос его базы данных. Тут так же ничего сложного нет. Если сказать в двух словах то нам потребуется экспортировать базу MySQL с локального компьютера в определенный файл, а затем импортировать этот файл на сервер при помощи PhpMyAdmin.
Итак, первое, что необходимо сделать, это открыть браузер перейти по локальному адресу http://localhost/Tools/phpmyadmin/index.php написав его в адресной строке (для тех, кто использует Denwer в качестве локального сервера). Таким образом, мы попадем в веб-интерфейс для администрирования СУБД MySQL (веб-интерфейс PhpMyAdmin).
Переходим в нашу базу данных, просто щелкнув по ней мышкой в левой части страницы. Далее в верхней части страницы находим кнопку «Экспорт» и жмем по ней. Все параметры для экспортирования оставляем как есть без изменения и нажимаем на кнопку «Ok».
После того как экспорт будет завершен необходимо импортировать вновь полученный файл базы данных на хостинг. Но предварительно необходимо создать новую пустую базу данных на хостинге.
Для того чтобы создать пустую базу данных на хостинге (в нашем случае RadiusHost) в админке сервера необходимо перейти в меню «База данных» и нажимаем на зеленую кнопку «База». Заполняем необходимые поля как на скриншоте ниже и жмем кнопку «Выполнить».
Небольшое отступление – имя базы данных лучше использовать схожее с именем вашего сайта, чтобы в дальнейшем знать какая база данных относится к тому или иному сайту.
После того как база данных будет создана необходимо создать нового пользователя который будет иметь к ней доступ. Для этого жмем по кнопке «Пользователь» и вводим его имя в поле «Логин» и дважды вводим вновь придуманный для него пароль. Затем выбираем базу данных, к которой пользователь будет иметь доступ, при необходимости выставляем привилегии и жмем по кнопке «Выполнить». Готово!
Теперь необходимо попасть в веб-интерфейс базы данных MySQL при помощи PhpMyAdmin. Для этого в админ панели сервера нажимаем в левом меню по вкладке «Сервисы» и жмем «PhpMyAdmin».
На открывшейся странице администрирования MySQL, которое ничем не отличается от локальной версии, проходим процедуру авторизации. После авторизации в левом меню выбираем нашу только что созданную базу данных, а дальше жмем кнопку «Импорт» в верхней части страницы.
Для того чтобы импортировать файл локальную версию базы данных Joomla необходимо нажать на кнопку «Выберите файл». Выбираем не так давно созданный нами локальный файл и в самом низу страницы жмем по кнопке «Вперед». Дожидаемся завершения процедуры импортирования. На этом все, импорт завершен, и наша база с локального сервера была перенесена на хостинг.
Файлы и базу данных сайта мы уже перенесли на хостинг, но на этом процедура переноса еще не завершена. Для того чтобы сайт заработал нужно внести определенные поправки в файл configuration.php – изменить имя базы данных, ведь оно как правило будет отличаться от локальной версии, а так же изменить имя пользователя базы данных и пароль доступа.
Для этого открываем файл configuration.php для редактирования и вносим изменения в следующих полях:
public $db = 'Имя_базы_данных'; public $user = 'Имя_пользователя_базы_данных'; public $password = 'Пароль';
Вот теперь все, сайт был успешно перенесен на хостинг и работает. Для того чтобы проверить его работоспособность откройте сайт через браузер. Если все сделано правильно, ошибок быть не должно, сайт должен открываться точно так же как и на локальном сервере. Но в некоторых случаях могут возникнуть ошибки.
Самые распространенные ошибки, которые могут возникнуть после переноса сайта на хостинг мы сейчас и рассмотрим.
Возможные ошибки при переносе сайта на хостинг
Бывают ситуации, когда после переноса сайта на хостинг он не запускается должным образом, а вместо его содержимого мы можем наблюдать неприятные ошибки. Давайте рассмотрим наиболее распространенные из них и попытаемся исправить.
«Error displaying the error page: Application Instantiation Error: Could not connect to MySQL. »
Вы заходите на сайт, а в ответ получаете вот такую неприятную ошибку. Однако тут нет ничего страшного, подобная ошибка говорит о том, что сайт не может связаться с базой данных. Это, как правило, происходит в том случае если пользователь неправильно, либо вообще не отредактировал файл configuration.php.
Если у вас возникла подобная ошибка, то проверьте свой файл configuration.php и внесите в него актуальную информацию о базе данных, имени пользователя и т.п. (об этом мы уже говорили, читайте чуть выше).
«Fatal error: Cannot use Joomla\String\String as String because 'String' is a special class name in»
Тут причина кроется в версии Joomla и php. К примеру, локальная версия сайта была сделана на CMS Joomla 3.4, которая не поддерживает php 7.0, а в настройках сайта на хостинге вы выбрали именно эту версию.
В этом случае необходимо в первую очередь сменить версию php для сайта, к примеру, на версию 5.6, после этого сайт заработает. После этих действий можно смело обновить CMS до последней версии, на момент написания статьи это версия 3.6.5 и уже после этого вновь изменить версию php до 7-ой.
«Cannot open file for writing log»
Подобная ошибка может возникнуть во время обновления Joomla. Суть ее заключается в том, что системе не удается записать лог процесса обновления.
Для решения подобной проблемы снова обращаемся к файлу configuration.php. Находим в данном файле следующую строку:
public $log_path = 'путь_до_лога';
Укажите корректный путь к папке логов на сервере, затем удалите данную папку с хостинга. После этого можно запустить процесс обновления повторно, папка для логов создастся автоматически и обновление должно заработать. Если не помогло, то попробуйте поставить права «777» на папку с логами.